$(function(){
	// validate验证
	$('#tableConfigForm').validate();

	$('#tableConfigForm input[type="checkbox"]').click(function(){
		if($(this).is(':checked')){
			$(this).prev().val('Y');
		}else{
			$(this).prev().val('N');
		}
	});

	$('#tableConfigForm input[type="radio"]').click(function(){

		$('#tableConfigForm input[name$=".isKey"]').each(function(i,obj){

			$(obj).val('N');
		});

		if($(this).is(':checked')){
			$(this).prev().val('Y');
		}else{
			$(this).prev().val('N');
		}
	});

	$('#generateConfigForm').validate();

	$('#dataSourceId').change(function(){

		if($(this).val()){

			$.ajax({
				type: 'post',
				url: '/tableConfig/getTableList',
				data: {dataSourceId: $(this).val()},
				dataType: 'json',
				success: function(response){

					if(response.success){

						var html = '';

						for(var i = 0; i < response.data.length; i++){

							if(i == 0){

								html += '<li class="list-group-item" style="border:0;" name="'+ response.data[i] +'">\n'
									+ '<label class="checkbox-inline c-checkbox">'
									+ '<input type="checkbox" name="tableNames" value="'+ response.data[i] +'" required="required" minlength="1"/>'
									+ '<i class="fa fa-check"></i>'
									+ response.data[i] + '\n'
									+ '</label>'
									+ '</li>\n';
							} else {

								html += '<li class="list-group-item" style="border:0;" name="'+ response.data[i] +'">\n'
									+ '<label class="checkbox-inline c-checkbox">'
									+ '<input type="checkbox" name="tableNames" value="'+ response.data[i] +'"/>'
									+ '<i class="fa fa-check"></i>'
									+ response.data[i] + '\n'
									+ '</label>'
									+ '</li>\n';
							}

						}

						$('#tableNames').html(html);
					}
					else {

						modalAlert(response.message);
					}
				}
			});
		}
	});

	$('#tableSearch').keyup(function() {
		var searchValue = $(this).val();
		if(searchValue) {
			$('#tableNames').children().each(function(index,item) {
				var tableName = $(item).attr('name');
				if(tableName.indexOf(searchValue) == -1) {
					$(item).hide();
				} else {
					$(item).show();
				}
			})
		} else {
			$('#tableNames').children().each(function(index,item) {
				$(item).show();
			})
		}
	});
});

function generateConfig(){

	saveByAjax('generateConfigForm','/generator/generateConfig','/tableConfig/init');
}

function update(){

	saveByAjax('tableConfigForm','/tableConfig/update','/tableConfig/init');
}
